/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package daos;

import beans.Producto;
import com.mysql.jdbc.Connection;
import java.sql.*;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author curso
 */
public class ProductoDAOImp implements ProductoDAO
{
private Connection c;

    @Override
    public void conectar() throws SQLException, ClassNotFoundException {
                Class.forName("com.mysql.jdbc.Driver");

      c = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/mibase", "root", "ana88");
        System.out.println("Conexión establecida");
    }

    @Override
    public void desconectar() throws SQLException {
       c.close();
        System.out.println("Se ha cerrado la conexion");
    }

    @Override
    public int insertar(Producto p) throws SQLException {
  
        PreparedStatement ps = c.prepareStatement("INSERT INTO PRODUCTO (NOMBRE,PRECIO,ID_CATEGORIA)VALUES(?,?,?)");
        int valor;
         ps.setString(1, p.getNombre());
        ps.setFloat(2, p.getPrecio());
        ps.setInt(3, p.getId_categoria());
      valor = ps.executeUpdate();
          System.out.println("Se incertaron: " + valor);
          return valor;
    }
        
    

    @Override
    public List<Producto> verProductos() throws SQLException {
        List<Producto> l1 = new ArrayList();
       PreparedStatement ps = c.prepareStatement("SELECT * FROM PRODUCTO");
        ResultSet rs = ps.executeQuery();

        while (rs.next()) {
  
            System.out.println(rs.getInt(1)+" "+rs.getString(2) + " " + rs.getString(3));
            Producto p = new Producto();
            l1.add(p);
        }
        return l1;
    }

    @Override
    public int borrar(int id) throws SQLException {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public int actualizar(Producto P) throws SQLException {
    int exito;    
    Producto p1 = new Producto();
      PreparedStatement ps = c.prepareStatement("UPDATE PRODUCTO SET (NOMBRE,PRECIO,ID_CATEGORIA)VALUES(?,?,?)");
       ps.setString(1, p1.getNombre());
        ps.setFloat(2, p1.getPrecio());
        ps.setInt(3, p1.getId_categoria());
      exito=ps.executeUpdate();
          System.out.println("Se modificaron: " + exito);
          return exito;
    }
}
